代理转发zabbix proxy
0 Comments现象:us地区 zabbix-proxy 在晚上高峰期时(21:00~24:00)容易发生 zabbix-server 无法连接 zabbix proxy。
问题原因:经检查,US 到 TW 之间通讯走国际链路会经过 PCCW 运营商,且保障到运营商和调整路由后效果不明显。
mtr 截图
因为 CDS 在 TW 有服务器,最后和 厂商 CDS 沟通后,采用 CDS 云互联解决问题,网络链路不会经过 PCCW 运营商。即 US CDS 机器与 TW CDS 机器建立 “大内网”,两者通过内网通讯,然后 TW CDS 转发 US zabbix proxy 流量到 TW zabbix-server。
解决过程:
最开始想到的是 通过 iptables SNAT 和 DNAT 实现路由转发。但可惜的是,失败了。
然后尝试使用 nginx 来转发 zabbix proxy 流量到 zabbix server,经过验证,由于 zabbix proxy 数据包过大,七层 nginx 反向代理无法完整转发流量,经多次尝试调整参数后,仍无法解决。失败了。
使用四层 haproxy 来代理 zabbix proxy 流量到 zabbix server。成功!。
使用 SNAT 和 DNAT ,代理服务器一直在发送大量 ARP 包,暂未解决问题。
|
|
这是之前配置的 SNAT 和 DNAT 规则,可能是姿势不对,未能解决问题。
|
|
在 zabbix proxy 上配置了路由到代理服务器,但zabbix-proxy 仍无法与 zabbix-server 建立通讯。
|
|
使用 nginx 代理时,可以发现 zabbix proxy 发送过来的 包很大,nginx 无法完整接收此数据包,才导致最后的失败。
|
|
使用 haproxy 代理
|
|
使用 haproxy 代理后,看到 zabbix proxy 已经可以正常发送数据到 zabbix-server。
|
|
haproxy 配置:
|
|
zabbix proxy 需要配置静态路由改变 zabbix proxy 到 zabbix server 的网络链路,即通过 代理服务器转发流量。
|
|
然后zabbix proxy的 zabbix server 配置改为 代理服务器 IP 地址。
|
|
本文出自”Jack Wang Blog”:http://www.yfshare.vip/2021/03/17/代理转zabbix proxy/